package edu.bbu.commonproject.desktop.client.model;

import java.io.FileInputStream;
import java.io.FileOutputStream;

/**
 * The file pojo class.
 */
public class FilePOJO
{
	/** The file version */
	private int version;
	
	/** The file owner. */
	private String owner;
	
	/** The file name. */
	private String fileName;
	
	/** The directory where the file is placed. */
	private String directoryName;
	
	/** The input stream of the file, where it can be read. */
	private FileInputStream fileInputStream;
	
	/** The output stream of the file where it can be write. */
	private FileOutputStream fileOutputStream;
	
	/**
	 * The default constructor.
	 */
	public FilePOJO()
	{
		owner = "";
		fileName = "";
		directoryName = "";
	}
	
	/**
	 * The constructor with parameteres.
	 * @param owner the file owner.
	 * @param fileName the file name.
	 * @param directoryName the directory where the file is placed.
	 */
	public FilePOJO(String owner, String fileName, String directoryName)
	{
		this.owner = owner;
		this.fileName = fileName;
		this.directoryName = directoryName;
	}
	
	/**
	 * Setting the file version.
	 * @param version the file version.
	 */
	public void setVersion(int version)
	{
		this.version = version;
	}
		
	/**
	 * Getting the file version.
	 * @return the file version.
	 */
	public int getVersion()
	{
		return version;
	}
	
	/**
	 * Setting the owner.
	 * @param owner the file owner.
	 */
	public void setOwner(String owner)
	{
		this.owner = owner;
	}
	
	/**
	 * Getting the owner.
	 * @return the owner of the file.
	 */
	public String getOwner()
	{
		return owner;
	}
	
	/**
	 * Setting the file name.
	 * @param fileName the file name.
	 */
	public void setFileName(String fileName)
	{
		this.fileName = fileName;
	}
	
	/**
	 * Getting the file name.
	 * @return the name of the file.
	 */
	public String getFileName()
	{
		return fileName;
	}
	
	/**
	 * Seting the directory name.
	 * @param directoryName the directory name
	 */
	public void setDirectoryName(String directoryName)
	{
		this.directoryName = directoryName;
	}
	
	/**
	 * Getting the directory name.
	 * @return the directory name
	 */
	public String getDirectoryName()
	{
		return directoryName;
	}
	
	/**
	 * Setting the input stream.
	 * @param fileInputStream the file input stream.
	 */
	public void setFileInputStream(FileInputStream fileInputStream)
	{
		this.fileInputStream = fileInputStream;
	}
	
	/**
	 * Getting the inputstream.
	 * @return the file input stream.
	 */
	public FileInputStream getFileInputStream()
	{
		return fileInputStream;
	}
	
	/**
	 * Setting the outpustream.
	 * @param fileOutputStream the file output stream.
	 */
	public void setFileOutputStream(FileOutputStream fileOutputStream)
	{
		this.fileOutputStream = fileOutputStream;
	}
	
	/**
	 * Getting the outpustream.
	 * @return the file output stream.
	 */
	public FileOutputStream getFileOutputStream()
	{
		return fileOutputStream;
	}
}
